The present invention relates to systems and methods for facilitating searches that involve multiple indexes, e.g., a content index and a metadata index. As an example, a search query may request searching for files that simultaneously meet two criteria: containing the key word “patent” (involving a content index) and having been reviewed by the reviewer “John Brown” (involving a metadata index). There may be problems with prior art systems and methods in handling such search queries, as discussed with reference to the following examples of FIGS. 1A and 1B.
FIG. 1A shows a schematic representation of an example prior art search system 100 (hereinafter “system 100”). System 100 may include a content/metadata search index 102 for storing both content field entries and metadata field entries (i.e., both content and metadata information for facilitating searches) for all objects (e.g., files, documents, messages, etc.) stored in a data repository.
In system 100, whenever a metadata field entry needs to be updated in response to a change in the metadata of an object, for example, after the object has been reviewed by a reviewer, both the metadata field entry and the content field entry associated with the object will have to be updated. Since the content of the object has not been changed, the update of the content field entry may represent waste of computing/processing resource.
In general, metadata may be frequently changed, while content data may be infrequently changed. With redundant updates of content field entries performed without content of objects being changed, system 100 may involve substantial inefficiency in resource utilization.
FIG. 1B shows a schematic representation of an example prior art search system 150 (hereinafter “system 150”). System 150 may include a content search index 152 for storing content field entries and a metadata search index 154 for storing metadata field entries. With content field entries uncoupled from metadata field entries, redundant updates of content field entries (as with system 100 discussed in the example of FIG. 1A) may be avoided.
However, with the content index and the metadata index being uncoupled, system 150 may not be able to satisfactorily respond to search queries that involve both the content index and the metadata index. For example, a search query for files that simultaneously meet the two criteria of containing the keyword “patent” and having been reviewed by the reviewer “Mike Brown” may result in two sets of files: a set of files containing the keyword “patent” and a set of files having been reviewed by the review “John Brown.” In other words, the search result may include files satisfying the first criteria “OR” the second criteria, but not satisfying both the first criteria “AND” the second criteria as required by the search query.
In order to join separate results obtained from querying the content index and the metadata index according the logic required in search queries, system 150 may include a mapping database 156 for correlating the content field entries and the metadata field entries. However, mapping database 156 may substantially increase the implementation, management, and/or maintenance costs for system 150. Further, the operation of mapping database 156 for performing the correlation may degrade the efficiency of system 150 in responding to search queries.